//format说明
// amd – 异步模块定义，用于像RequireJS这样的模块加载器
// cjs – CommonJS，适用于 Node 和 Browserify/Webpack
// es – 将软件包保存为ES模块文件
// iife – 一个自动执行的功能，适合作为<script>标签。（如果要为应用程序创建一个捆绑包，您可能想要使用它，因为它会使文件大小变小。）
// umd – 通用模块定义，以amd，cjs 和 iife 为一体
import del from "del";
import banner from 'rollup-plugin-banner'
//删除之前的源映射文件，
del.sync(['dist/*.js','dist/*.js.map']);
//重新生成
console.log("开始打包 ...");
const pkg = require('./package.json');
const mode = process.env.NODE_ENV;
import {terser} from 'rollup-plugin-terser';
const bannerPlugin = {
    'banner': `
@author ${pkg.author}
@version ${pkg.version}
@createTime ${new Date().toDateString()} - ${new Date().toTimeString()}
`
};
export default [
    {
        input: './src/index.js',
        output: [{
            'file': 'dist/matrix-webgpu.js',
            'format': "iife",
            'strict': true,
            'name':"z",
            'plugins':[
                mode === "prod" ? terser(
                    {
                        compress:{
                            drop_console:true,
                            drop_debugger:true,
                        }
                    }
                ) : false,//压缩
              banner(bannerPlugin.banner)
            ],
            'sourcemap':mode === "prod"?false:true
        }],
        treeshake:true,
    }
];
